As people become more mobile, there is an increasing demand for computing in locations and situations that diverge from the traditional wired environment. The popularity of mobile devices such as laptop computers, personal digital assistants (PDAs) and wireless telephones, further makes nomadic computing a desirable and viable life style. However, most of today's applications are session-oriented. As used herein, the term session orientation means that a particular application is constrained by the device, platform, location, and time.
The session-oriented model places a limitation such that for the duration of an application session, a user cannot switch devices; otherwise, the user might lose their active application session and would need to restart it on a new device. Consider a scenario when a user is running an application on a stationary device (such as a desktop PC), but an alternative mobile device (such as a Pocket PC or laptop with wireless access) is available to the user. If the user would like to continue their application on the mobile device they could not do so without losing their active application session on the stationary device.
Consider another scenario when the user is running an application on their office desktop PC and must leave the office to attend a meeting at a remote location. The user can carry their laptop (with wireless access) with them on the flight to the meeting. Let's say that during the flight or at the airport the user would like to continue their application on their laptop, but again, they could not do so without losing their active application session on the laptop computer.
In both scenarios set forth above an alternative approach would be that the user saves their documents into a portable media. At a later time, the user must read or extract the documents from the portable media back into the mobile device and restart work on the documents on the mobile device. Such an approach requires the user's effort to move the document from one physical device to another physical device and is time consuming and undesirable. As such, a need exists for an Application Mobility Service (AMS) that enables a user to seamlessly and effortlessly transfer an active application to any device that is accessible or convenient to the user simultaneously or at a later time.